package com.ruoyi.warning.domain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * <p>
 * 告警设备表
 * </p>
 *
 * @author chenhc
 * @since 2025-02-14
 */
@Data
@TableName("ports")
@ApiModel("端口")
@SuppressWarnings("serial")
public class Port {
    @TableId(value = "port_id", type = IdType.AUTO)
    @ApiModelProperty("端口 ID")
    private Integer portId;

    @JsonProperty("device_id")
    @ApiModelProperty("设备 ID")
    private String deviceId;

    @JsonProperty("ifSpeed_prev")
    @TableField("ifSpeed_prev")
    @ApiModelProperty("上一次接口速度")
    private String ifSpeedPrev;

    @JsonProperty("port_descr_type")
    @ApiModelProperty("端口描述类型")
    private String portDescrType;

    @JsonProperty("port_descr_descr")
    @ApiModelProperty("端口描述详情")
    private String portDescrDescr;

    @JsonProperty("port_descr_circuit")
    @ApiModelProperty("端口描述电路信息")
    private String portDescrCircuit;

    @JsonProperty("port_descr_speed")
    @ApiModelProperty("端口描述速度")
    private String portDescrSpeed;

    @JsonProperty("port_descr_notes")
    @ApiModelProperty("端口描述备注")
    private String portDescrNotes;

    @ApiModelProperty("接口描述")
    @TableField("ifDescr")
    private String ifDescr;

    @ApiModelProperty("网络接口名称")
    @TableField("ifName")
    private String ifName;

    @ApiModelProperty("端口名称")
    @TableField("portName")
    private String portName;

    @ApiModelProperty("接口索引")
    @TableField("ifIndex")
    private String ifIndex;

    @ApiModelProperty("接口速度")
    @TableField("ifSpeed")
    private String ifSpeed;

    @ApiModelProperty("接口连接器是否存在")
    @TableField("ifConnectorPresent")
    private String ifConnectorPresent;

    @ApiModelProperty("接口操作状态")
    @TableField("ifOperStatus")
    private String ifOperStatus;

    @JsonProperty("ifOperStatus_prev")
    @TableField("ifOperStatus_prev")
    @ApiModelProperty("接口上一次操作状态")
    private String ifOperStatusPrev;

    @ApiModelProperty("接口管理状态")
    @TableField("ifAdminStatus")
    private String ifAdminStatus;

    @JsonProperty("ifAdminStatus_prev")
    @TableField("ifAdminStatus_prev")
    @ApiModelProperty("接口上一次管理状态")
    private String ifAdminStatusPrev;

    @ApiModelProperty("接口双工模式")
    @TableField("ifDuplex")
    private String ifDuplex;

    @ApiModelProperty("接口最大传输单元")
    @TableField("ifMtu")
    private String ifMtu;

    @ApiModelProperty("接口类型")
    @TableField("ifType")
    private String ifType;

    @ApiModelProperty("接口别名")
    @TableField("ifAlias")
    private String ifAlias;

    @ApiModelProperty("接口物理地址")
    @TableField("ifPhysAddress")
    private String ifPhysAddress;

    @ApiModelProperty("接口最后更改时间")
    @TableField("ifLastChange")
    private String ifLastChange;

    @ApiModelProperty("接口 VLAN 信息")
    @TableField("ifVlan")
    private String ifVlan;

    @ApiModelProperty("接口链路聚合信息")
    @TableField("ifTrunk")
    private String ifTrunk;

    @ApiModelProperty("接口虚拟路由转发信息")
    @TableField("ifVrf")
    private String ifVrf;

    @ApiModelProperty("是否忽略标识")
    @TableField("`ignore`")
    private Integer ignore;

    @ApiModelProperty("是否禁用标识")
    private String disabled;

    @ApiModelProperty("是否删除标识")
    private String deleted;


    @ApiModelProperty("PAgP 操作模式")
    @TableField("pagpOperationMode")
    private String pagpOperationMode;


    @ApiModelProperty("PAgP 端口状态")
    @TableField("pagpPortState")
    private String pagpPortState;


    @ApiModelProperty("PAgP 对端设备 ID")
    @TableField("pagpPartnerDeviceId")
    private String pagpPartnerDeviceId;


    @ApiModelProperty("PAgP 对端学习方法")
    @TableField("pagpPartnerLearnMethod")
    private String pagpPartnerLearnMethod;


    @ApiModelProperty("PAgP 对端接口索引")
    @TableField("pagpPartnerIfIndex")
    private String pagpPartnerIfIndex;

    @ApiModelProperty("PAgP 对端组接口索引")
    @TableField("pagpPartnerGroupIfIndex")
    private String pagpPartnerGroupIfIndex;

    @ApiModelProperty("PAgP 对端设备名称")
    @TableField("pagpPartnerDeviceName")
    private String pagpPartnerDeviceName;

    @ApiModelProperty("PAgP 设备 ID")
    @TableField("pagpDeviceId")
    private String pagpDeviceId;

    @ApiModelProperty("PAgP 以太网通道操作模式")
    @TableField("pagpEthcOperationMode")
    private String pagpEthcOperationMode;

    @TableField("pagpGroupIfIndex")
    @ApiModelProperty("PAgP 组接口索引")
    private String pagpGroupIfIndex;

    @TableField("ifInUcastPkts")
    @ApiModelProperty("入站单播数据包数量")
    private String ifInUcastPkts;

    @TableField("ifInUcastPkts_prev")
    @ApiModelProperty("上一次入站单播数据包数量")
    private String ifInUcastPktsPrev;

    @TableField("ifInUcastPkts_delta")
    @ApiModelProperty("入站单播数据包数量差值")
    private String ifInUcastPktsDelta;

    @TableField("ifInUcastPkts_rate")
    @ApiModelProperty("入站单播数据包速率")
    private String ifInUcastPktsRate;

    @TableField("ifOutUcastPkts")
    @ApiModelProperty("出站单播数据包数量")
    private String ifOutUcastPkts;

    @TableField("ifOutUcastPkts_prev")
    @ApiModelProperty("上一次出站单播数据包数量")
    private String ifOutUcastPktsPrev;

    @TableField("ifOutUcastPkts_delta")
    @ApiModelProperty("出站单播数据包数量差值")
    private String ifOutUcastPktsDelta;

    @TableField("ifOutUcastPkts_rate")
    @ApiModelProperty("出站单播数据包速率")
    private String ifOutUcastPktsRate;

    @TableField("ifInErrors")
    @ApiModelProperty("入站错误数据包数量")
    private String ifInErrors;

    @TableField("ifInErrors_prev")
    @ApiModelProperty("上一次入站错误数据包数量")
    private String ifInErrorsPrev;

    @TableField("ifInErrors_delta")
    @ApiModelProperty("入站错误数据包数量差值")
    private String ifInErrorsDelta;

    @TableField("ifInErrors_rate")
    @ApiModelProperty("入站错误数据包速率")
    private String ifInErrorsRate;

    @TableField("ifOutErrors")
    @ApiModelProperty("出站错误数据包数量")
    private String ifOutErrors;

    @TableField("ifOutErrors_prev")
    @ApiModelProperty("上一次出站错误数据包数量")
    private String ifOutErrorsPrev;

    @TableField("ifOutErrors_delta")
    @ApiModelProperty("出站错误数据包数量差值")
    private String ifOutErrorsDelta;

    @TableField("ifOutErrors_rate")
    @ApiModelProperty("出站错误数据包速率")
    private String ifOutErrorsRate;

    @TableField("ifInOctets")
    @ApiModelProperty("入站字节数")
    private String ifInOctets;

    @TableField("ifInOctets_prev")
    @ApiModelProperty("上一次入站字节数")
    private String ifInOctetsPrev;

    @TableField("ifInOctets_delta")
    @ApiModelProperty("入站字节数差值")
    private String ifInOctetsDelta;

    @TableField("ifInOctets_rate")
    @ApiModelProperty("入站字节速率")
    private String ifInOctetsRate;

    @TableField("ifOutOctets")
    @ApiModelProperty("出站字节数")
    private String ifOutOctets;

    @TableField("ifOutOctets_prev")
    @ApiModelProperty("上一次出站字节数")
    private String ifOutOctetsPrev;

    @TableField("ifOutOctets_delta")
    @ApiModelProperty("出站字节数差值")
    private String ifOutOctetsDelta;

    @TableField("ifOutOctets_rate")
    @ApiModelProperty("出站字节速率")
    private String ifOutOctetsRate;

    @JsonProperty("poll_time")
    @ApiModelProperty("轮询时间")
    private String pollTime;

    @JsonProperty("poll_prev")
    @ApiModelProperty("上一次轮询时间")
    private String pollPrev;

    @JsonProperty("poll_period")
    @ApiModelProperty("轮询周期")
    private String pollPeriod;

    @ApiModelProperty("是否是关联链路0否1是")
    private Integer isCritical;

    @ApiModelProperty("是否显示0否1是")
    private Integer isShow;

    @ApiModelProperty("带宽")
    private Integer bandwidth;

    @TableField("ifInLoss")
    @ApiModelProperty("入站丢包数量")
    private Long ifInLoss;

    @TableField("ifOutLoss")
    @ApiModelProperty("出站丢包数量")
    private Long ifOutLoss;

    @TableField("ifInNoUnicastForward")
    @ApiModelProperty("接口非单播包转发数（in）")
    private Long ifInNoUnicastForward;

    @TableField("ifOutNoUnicastForward")
    @ApiModelProperty("接口非单播包转发数（out）")
    private Long ifOutNoUnicastForward;

    @TableField("ifUnknownDrop")
    @ApiModelProperty("丢弃的未知协议包")
    private Long ifUnknownDrop;
}
